Интеграция медиации Яндекса

Важно

Обязательно обновите версии используемых адаптеров на актуальные (Медиация Яндекса и адаптеры для сторонних медиационных сетей). Иначе возможны ошибки неправильной интеграции адаптеров и реклама не будет показана.

Видео о том, почему стоит обновлять SDK и как это делать

Медиация Яндекса — платформа, которая автоматически подбирает рекламу из множества сетей на основе алгоритмов ML. Это позволяет максимизировать доход. Все настройки работают «из коробки» — отлаживать каждую сеть отдельно не нужно.

Если вы раньше использовали Yandex Mobile Ads SDK только с одной сетью Яндекса, то для перехода на Медиацию не придется ничего менять в коде. Предварительно нужно только настроить блоки в веб-интерфейсе внешних рекламных сетей.

Дополнительно об интеграции медиации Яндекса смотрите в видео:

Предварительная настройка

Чтобы подготовить приложение, выполните действия, описанные в следующих разделах.

Требования к приложению

  • Используйте Android Studio 2021 или выше.
  • Используйте Android Gradle Plugin версии 7.3.1 и выше.
  • Убедитесь, что в файле сборки вашего приложения используются следующие значения:
    • minSdkVersion 21 или выше;
    • compileSdkVersion 31 или выше.
  • Для загрузки любого вида рекламы необходима версия Android 4.1 и выше.
  • Видеореклама подбирается только на устройства с версией Android 5 и выше.
  • Если в своем приложении вы используете AppMetrica SDK, убедитесь, что у вас установлена 7-я мажорная версия (7.x.x).

Настройте приложение в своем аккаунте в Рекламной сети Яндекса

Зарегистрируйте свое приложение как приложение Рекламной сети Яндекса, выполнив следующие действия:

  1. Войдите или зарегистрируйте аккаунт в Рекламной сети Яндекса.
  2. Зарегистрируйте свое приложение в Рекламной сети Яндекса.

Подключение

Есть два способа подключения:

  • Единая сборка (рекомендуется) — все доступные адаптеры подключаются автоматически.
  • Подключение отдельных адаптеров — отдельно устанавливается Yandex SDK и отдельно подключаются конкретные адаптеры с помощью соответствующих пакетов.

Подключить все доступные адаптеры можно автоматически с помощью общего пакета медиации yandex-mobileads-mediation.

  1. Настройте медиацию в Партнерском интерфейсе.

  2. Добавьте зависимость от YandexMobileAdsMediation в build.gradle файл модуля вашего приложения:

    dependencies {
           ...
           implementation 'com.yandex.android:mobileads-mediation:7.8.0.0'
    }
    

    Для каждого адаптера самая свежая совместимая версия будет выбрана автоматически.

  3. Добавьте поддержку Java 8 в build.gradle файл модуля вашего приложения:

    android {
    
        compileOptions {
            sourceCompatibility JavaVersion.VERSION_1_8
            targetCompatibility JavaVersion.VERSION_1_8
        }
    }
    
  4. Добавьте код в build.gradle файл модуля вашего приложения:

    // IronSource
    maven {
           url 'https://android-sdk.is.com/'
    }
    
    // Pangle
    maven {
           url 'https://artifact.bytedance.com/repository/pangle'
    }
    
    // Tapjoy
    maven {
           url "https://sdk.tapjoy.com/"
    }
    
    // Mintegral
    maven {
           url "https://dl-maven-android.mintegral.com/repository/mbridge_android_sdk_oversea"
    }
    
    // Chartboost
    maven {
           url "https://cboost.jfrog.io/artifactory/chartboost-ads/"
    }
    
    // AppNext
    maven {
           url "https://dl.appnext.com/"
    }
    
  5. Настройте разрешение на использование рекламного идентификатора (опционально с версии 4.5.0).

    Как настроить разрешение на использование рекламного идентификатора

    Рекламный идентификатор – уникальный идентификатор сервисов Google Play для показа рекламы пользователям, которые согласны видеть персонализированные объявления. Пользователь может отключить персонализацию рекламы или сбросить идентификатор в настройках. В таком случае рекламные сети не смогут использовать его для подбора релевантной рекламы.

    Если ваше приложение использует версию Yandex Mobile Ads SDK ниже 4.5.0, необходимо добавить разрешение com.google.android.gms.permission.AD_ID в AndroidManifest.xml файл вашего приложения:

    <manifest>
        <application>
        <!-- For apps targeting Android 13 or higher & Yandex Mobile Ads SDK versions lower than 4.5.0 -->
            <uses-permission android:name="com.google.android.gms.permission.AD_ID"/>
        </application>
    </manifest>
    

    Начиная с версии 4.5.0 Yandex Mobile Ads SDK добавляет разрешение com.google.android.gms.permission.AD_ID по умолчанию. Поэтому указывать его дополнительно в основном манифесте приложения не нужно. Разрешение позволяет использовать рекламный идентификатор для подбора более релевантной рекламы от рекламных сетей.

    При необходимости, вы можете удалить разрешение. Например, если какие-то политики, такие как Families Policy, не позволяют использовать идентификатор для подбора рекламы.

    Чтобы разрешение не попало в основной манифест приложения, добавьте в файл AndroidManifest.xml следующий код:

    <manifest>
        <application>
            <uses-permission android:name="com.google.android.gms.permission.AD_ID" tools:node="remove"/>
        </application>
    </manifest>
    

    Важно

    Отсутствие разрешения и доступа к идентификатору может снизить релевантность рекламы и, как следствие, ваш доход.

  6. Дополнительная настройка для сети Google AdMob (ex. AdMob).

    Добавьте свой Google AdMob (ex. AdMob) ID в созданный файл AndroidManifest.xml приложения с помощью тега <meta-data> с именем com.google.android.gms.ads.APPLICATION_ID (подробнее о том, где найти AdMob ID).

    <manifest>
        <application>
    <!--...-->
            <meta-data
                android:name="com.google.android.gms.ads.APPLICATION_ID"
                android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"/>
    <!--...-->
        </application>
    </manifest>
    

Чтобы подключить адаптеры по отдельности, подключите Yandex Ads SDK и необходимые адаптеры по инструкциям к этим адаптерам:

  1. Настройте медиацию в Партнерском интерфейсе.

  2. Добавьте зависимость от YandexMobileAds в build.gradle файл модуля вашего приложения:

    dependencies {
        ...
        implementation 'com.yandex.android:mobileads:x.x.x' // add supported version
    
        // Add dependencies on Yandex Mediation adapters.
    
    }
    
  3. Добавьте поддержку Java 8 в build.gradle файл модуля вашего приложения:

    android {
    
        compileOptions {
            sourceCompatibility JavaVersion.VERSION_1_8
            targetCompatibility JavaVersion.VERSION_1_8
        }
    }
    
  4. Добавьте код в build.gradle файл модуля вашего приложения:

    // IronSource
    maven {
           url 'https://android-sdk.is.com/'
    }
    
    // Pangle
    maven {
           url 'https://artifact.bytedance.com/repository/pangle'
    }
    
    // Tapjoy
    maven {
           url "https://sdk.tapjoy.com/"
    }
    
    // Mintegral
    maven {
           url "https://dl-maven-android.mintegral.com/repository/mbridge_android_sdk_oversea"
    }
    
    // Chartboost
    maven {
           url "https://cboost.jfrog.io/artifactory/chartboost-ads/"
    }
    
    // AppNext
    maven {
           url "https://dl.appnext.com/"
    }
    
  5. Настройте разрешение на использование рекламного идентификатора (для приложений, использующих sdk ниже версии 4.5.0).

    Как настроить разрешение на использование рекламного идентификатора

    Рекламный идентификатор – уникальный идентификатор сервисов Google Play для показа рекламы пользователям, которые согласны видеть персонализированные объявления. Пользователь может отключить персонализацию рекламы или сбросить идентификатор в настройках. В таком случае рекламные сети не смогут использовать его для подбора релевантной рекламы.

    Если ваше приложение использует версию Yandex Mobile Ads SDK ниже 4.5.0, необходимо добавить разрешение com.google.android.gms.permission.AD_ID в AndroidManifest.xml файл вашего приложения:

    <manifest>
        <application>
        <!-- For apps targeting Android 13 or higher & Yandex Mobile Ads SDK versions lower than 4.5.0 -->
            <uses-permission android:name="com.google.android.gms.permission.AD_ID"/>
        </application>
    </manifest>
    

    Начиная с версии 4.5.0 Yandex Mobile Ads SDK добавляет разрешение com.google.android.gms.permission.AD_ID по умолчанию. Поэтому указывать его дополнительно в основном манифесте приложения не нужно. Разрешение позволяет использовать рекламный идентификатор для подбора более релевантной рекламы от рекламных сетей.

    При необходимости, вы можете удалить разрешение. Например, если какие-то политики, такие как Families Policy, не позволяют использовать идентификатор для подбора рекламы.

    Чтобы разрешение не попало в основной манифест приложения, добавьте в файл AndroidManifest.xml следующий код:

    <manifest>
        <application>
            <uses-permission android:name="com.google.android.gms.permission.AD_ID" tools:node="remove"/>
        </application>
    </manifest>
    

    Важно

    Отсутствие разрешения и доступа к идентификатору может снизить релевантность рекламы и, как следствие, ваш доход.

  6. Подключите необходимые адаптеры отдельно с помощью соответствующих пакетов.